home *** CD-ROM | disk | FTP | other *** search
/ PC Play 128 / pc play 128.iso / Demo / xmr / xmr.exe / {app} / Shaders / vs / vs2_0_menu_reflection.vsh < prev    next >
Encoding:
Text File  |  2007-10-31  |  3.8 KB  |  131 lines

  1. vs_2_0
  2. // DX9 Vertex shader generated by NVIDIA Cg compiler
  3. // cgc version 1.3.0001, build date Jan  7 2005 14:01:35
  4. // command line args: -q -profile vs_2_0 -entry main -profileopts dcls
  5. // source file: vs2_0_menu_reflection.cg
  6. // nv30vp backend compiling 'main' program
  7. def c19, 1, -1, 0, 0
  8. def c18, 1, 0, 0.5, 0
  9. //vendor NVIDIA Corporation
  10. //version 1.0.02
  11. //profile vs_2_0
  12. //program main
  13. //semantic main.WorldViewProjMatrix
  14. //semantic main.WorldViewMatrix
  15. //semantic main.WorldMatrix
  16. //semantic main.EyePos
  17. //semantic main.Light
  18. //semantic main.Fresnel
  19. //semantic main.ReflerOffset
  20. //semantic main.WaveDir
  21. //semantic main.WaveTextOffset1
  22. //semantic main.WaveTextOffset2
  23. //semantic main.WaveHeight
  24. //var float4x4 WorldViewProjMatrix :  : c[0], 4 : 1 : 1
  25. //var float4x4 WorldViewMatrix :  : c[4], 4 : 2 : 1
  26. //var float4x4 WorldMatrix :  : c[8], 4 : 3 : 1
  27. //var float4 EyePos :  : c[12] : 4 : 1
  28. //var float4 Light.Position :  : c[13] : 5 : 1
  29. //var float4 Light.Attenuation :  : c[14] : 5 : 1
  30. //var float Light.Range :  : c[15] : 5 : 1
  31. //var float Light.Power :  :  : 5 : 0
  32. //var float4 Fresnel :  : c[16] : 6 : 1
  33. //var float ReflerOffset :  : c[17] : 7 : 1
  34. //var float4 WaveDir :  :  : 8 : 0
  35. //var float4 WaveTextOffset1 :  :  : 9 : 0
  36. //var float4 WaveTextOffset2 :  :  : 10 : 0
  37. //var float4 WaveHeight :  :  : 11 : 0
  38. //var float4 I.Position : $vin.POSITION : POSITION : 0 : 1
  39. //var float3 I.Normal : $vin.NORMAL : NORMAL : 0 : 1
  40. //var float2 I.TexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
  41. //var float4 main.HPOS : $vout.POSITION : HPOS : -1 : 1
  42. //var float4 main.LightDir : $vout.COLOR0 : COL0 : -1 : 1
  43. //var float4 main.LightAtten : $vout.COLOR1 : COL1 : -1 : 1
  44. //var float4 main.TexCoord0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
  45. //var float4 main.TexCoord1 : $vout.TEXCOORD1 : TEX1 : -1 : 1
  46. //var float4 main.Refl2D : $vout.TEXCOORD2 : TEX2 : -1 : 1
  47. //var float4 main.EyeToVert : $vout.TEXCOORD3 : TEX3 : -1 : 1
  48. //var float4 main.FresnelRefl : $vout.TEXCOORD4 : TEX4 : -1 : 1
  49. //var float4 main.Normal : $vout.TEXCOORD6 : TEX6 : -1 : 1
  50. //var float4 main.HalfVec : $vout.TEXCOORD7 : TEX7 : -1 : 1
  51. //const c[19] = 1 -1 0 0
  52. //const c[18] = 1 0 0.5 0
  53. dcl_texcoord0 v2
  54. dcl_normal v1
  55. dcl_position v0
  56.     mov oT1.xy, v2.xyyy
  57.     mov oT0.xy, v2.xyyy
  58.     mov r2.xyz, c18
  59.     mov r0.xyz, v0.xyzz
  60.     mov r0.w, r2.x
  61.     dp4 r1.x, c0, r0
  62.     dp4 r1.y, c1, r0
  63.     dp4 r1.z, c2, r0
  64.     dp4 r1.w, c3, r0
  65.     mov oPos, r1
  66.     mov oT6.xyz, v1.xyzz
  67.     mov oT6.w, r2.y
  68.     dp4 r0.x, c8, v0
  69.     dp4 r0.y, c9, v0
  70.     dp4 r0.z, c10, v0
  71.     dp4 r0.w, c11, v0
  72.     add r5.xyz, c12.xyz, -r0.xyz
  73.     dp3 r2.w, r5.xyz, r5.xyz
  74.     rsq r4.w, r2.w
  75.     add r3.xyz, c13.xyz, -r0.xyz
  76.     dp3 r2.w, r3.xyz, r3.xyz
  77.     rsq r3.w, r2.w
  78.     mul r4.xyz, r3.xyz, r3.w
  79.     mad r3.xyz, r4.w, r5.xyz, r4.xyz
  80.     dp3 r2.w, r3.xyz, r3.xyz
  81.     rsq r2.w, r2.w
  82.     mul oT7.xyz, r2.w, r3.xyz
  83.     mov oT7.w, r2.y
  84.     dp3 r2.w, r4.xyz, r4.xyz
  85.     rsq r2.w, r2.w
  86.     mul r3.xyz, r2.w, r4.xyz
  87.     mad oD0.xyz, r2.z, r3.xyz, r2.z
  88.     mov oD0.w, r2.y
  89.     rcp r3.x, r3.w
  90.     slt r3.y, r3.x, c15.x
  91.     mad r2.w, c14.z, r3.x, c14.y
  92.     mad r2.w, r3.x, r2.w, c14.x
  93.     rcp r2.w, r2.w
  94.     min r3.x, r2.w, r2.x
  95.     add r2.w, r2.x, -r3.y
  96.     mul r2.w, r2.w, r2.y
  97.     mad r2.w, r3.y, r3.x, r2.w
  98.     mad r2.w, r2.z, r2.w, r2.z
  99.     mov oD1, r2.w
  100.     add r3, -c12, r0
  101.     dp4 r0.x, r3, r3
  102.     rsq r0.x, r0.x
  103.     mul r3, r0.x, r3
  104.     mov oT3, r3
  105.     dp3 r0.y, c4.xyz, v1.xyz
  106.     dp3 r0.z, c5.xyz, v1.xyz
  107.     dp3 r0.w, c6.xyz, v1.xyz
  108.     dp3 r0.x, r0.yzw, r0.yzw
  109.     rsq r0.x, r0.x
  110.     mul r0.xyz, r0.x, r0.yzw
  111.     dp3 r0.x, r3.xyz, r0.xyz
  112.     add r0.xy, r2.x, r0.x
  113.     mov r0.zw, c16.x
  114.     lit r0.z, r0
  115.     add r0.x, r2.x, -r0.z
  116.     mad r0.x, c16.y, r0.x, r0.z
  117.     min r0.x, r2.x, r0.x
  118.     max r0.x, r2.y, r0.x
  119.     mov oT4, r0.x
  120.     rcp r0.x, r1.w
  121.     mul r1, r1.xyz, r0.x
  122.     mul r0.xy, r2.z, r1.xy
  123.     mad r1.xy, r0.xy, c19.xy, r2.z
  124.     rcp r0.x, r1.z
  125.     mul r0.xyw, c17.x, r0.x
  126.     mov r1.z, r0.xyxw
  127.     min r0, r2.x, r1
  128.     max oT2, r2.y, r0
  129. // 73 instructions
  130. // 6 temp registers
  131.